package wwk.common.util;

import wwk.common.json.JSONObject;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.telephony.TelephonyManager;

public class DeviceInfo 
{
	public String phoneNumber;
	
	public DeviceInfo(Context context)
	{
		TelephonyManager phoneMgr=(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
		phoneNumber=phoneMgr.getLine1Number();
	}
	
	@SuppressLint("InlinedApi")
	public String getJsonString()
	{
		JSONObject deviceJsonObj=new JSONObject();
		
		JSONObject buildJsonObj=new JSONObject();
		JsonUtil.putToJsonObject(buildJsonObj,"BOARD",Build.BOARD);
		JsonUtil.putToJsonObject(buildJsonObj,"BRAND",Build.BRAND);
		JsonUtil.putToJsonObject(buildJsonObj,"CPU_ABI",Build.CPU_ABI);
		JsonUtil.putToJsonObject(buildJsonObj,"DEVICE",Build.DEVICE);
		JsonUtil.putToJsonObject(buildJsonObj,"DISPLAY",Build.DISPLAY);
		JsonUtil.putToJsonObject(buildJsonObj,"FINGERPRINT",Build.FINGERPRINT);
		JsonUtil.putToJsonObject(buildJsonObj,"HOST",Build.HOST);
		JsonUtil.putToJsonObject(buildJsonObj,"ID",Build.ID);
		JsonUtil.putToJsonObject(buildJsonObj,"MANUFACTURER",Build.MANUFACTURER);
		JsonUtil.putToJsonObject(buildJsonObj,"MODEL",Build.MODEL);
		JsonUtil.putToJsonObject(buildJsonObj,"PRODUCT",Build.PRODUCT);
		JsonUtil.putToJsonObject(buildJsonObj,"TAGS",Build.TAGS);
		JsonUtil.putToJsonObject(buildJsonObj,"TIME",Build.TIME);
		JsonUtil.putToJsonObject(buildJsonObj,"TYPE",Build.TYPE);
		JsonUtil.putToJsonObject(buildJsonObj,"USER",Build.USER);
		if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH)
		{
			JsonUtil.putToJsonObject(buildJsonObj,"RadioVersion",Build.getRadioVersion());
		}
		if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
		{
			JsonUtil.putToJsonObject(buildJsonObj,"SERIAL",Build.SERIAL);
		}
		if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO)
		{
			JsonUtil.putToJsonObject(buildJsonObj,"BOOTLOADER",Build.BOOTLOADER);
			JsonUtil.putToJsonObject(buildJsonObj,"CPU_ABI2",Build.CPU_ABI2);
			JsonUtil.putToJsonObject(buildJsonObj,"HARDWARE",Build.HARDWARE);
			JsonUtil.putToJsonObject(buildJsonObj,"UNKNOWN",Build.UNKNOWN);
			JsonUtil.putToJsonObject(buildJsonObj,"RadioVersion",Build.RADIO);
		}
		
		JSONObject versionJsonObj=new JSONObject();
		
		JsonUtil.putToJsonObject(versionJsonObj,"CODENAME",Build.VERSION.CODENAME);
		JsonUtil.putToJsonObject(versionJsonObj,"INCREMENTAL",Build.VERSION.INCREMENTAL);
		JsonUtil.putToJsonObject(versionJsonObj,"RELEASE",Build.VERSION.RELEASE);
		JsonUtil.putToJsonObject(versionJsonObj,"SDK_INT",Build.VERSION.SDK_INT);
		
		JsonUtil.putToJsonObject(buildJsonObj,"VERSION",versionJsonObj);
		JsonUtil.putToJsonObject(deviceJsonObj,"BUILD",buildJsonObj);

		String str=deviceJsonObj.toString();
		
		return str;
	}
}
